In many business relationships or financial transaction systems, parties may engage in a series of separate financial transactions which are related sub-parts of a single transaction. For example, a first department within a business may extend a series of credit payments to a second department, and may receive a series of debit payments in return. In certain cases, it may be desirable to reconcile some or all of the credit and debit payments into a single zero-sum transaction. For example, if the first department credits the second department with payments of $3, $5, and $10, and then receives two debit payments from the second department of $7 and $11, then these five transactions can be reconciled into a single zero balance transaction. In such cases, there may be a requirement that a reconciliation solution must be exact for any of the payments to be reconciled. Therefore, if the two payments received from the second department are in the amounts of $7 and $12, then none of the five payments can be reconciled.
Although this example illustrates a simple reconciliation process, many real-world financial transaction reconciliation problems are significantly more complex. For example, attempts to reconcile large numbers of credit and debit transactions, and reconciliation problems in which the reconciliation solution might not include all of the transactions, can take up significant human analyst time and/or large amounts of computing resources. For example, an attempt to reconcile several hundred credit and debit financial transactions, when some of the transactions may not part of the reconciliation solution, may be a computational problem taking days or weeks of computing time and/or very large amounts of computer memory.